package com.todo.biz.application.service;


import com.todo.biz.application.entity.bo.BaseDictBO;

import java.util.List;

/**
 * @author azhebuxing
 * @date 2024/12/9 15:38
 * @description
 */
public interface BaseDictService {

    /**
     * 新增字典
     *
     * @param baseDictBO
     * @return
     */
    Boolean insertBaseDict(BaseDictBO baseDictBO);

    /**
     * 根据主键删除字典
     *
     * @param id
     * @return
     */
    Boolean removeBaseDictById(Long id);

    /**
     * 根据主键更新字典
     *
     * @param baseDictBO
     * @return
     */
    Boolean updateBaseDictById(BaseDictBO baseDictBO);

    /**
     * 根据主键查询字典
     *
     * @param id
     * @return
     */
    BaseDictBO queryBaseDictById(Long id);

    /**
     * 根据业务编码和场景编码查询字典
     *
     * @param bizCode
     * @param sceneCode
     * @return
     */
    BaseDictBO queryBaseDictByBizCodeAndSceneCode(String bizCode, String sceneCode);

    /**
     * 查询字典列表
     *
     * @return
     */
    List<BaseDictBO> queryBaseDictListByCache();

    /**
     * 重置缓存并获取字典列表
     *
     * @return
     */
    List<BaseDictBO> queryDictListAndResetCache();
}
